package com.bluemsun.naturallanguageprocessing.dao;

import com.bluemsun.naturallanguageprocessing.entity.User;
import com.bluemsun.naturallanguageprocessing.entity.UserApi;
import org.apache.ibatis.annotations.Param;
import org.springframework.stereotype.Repository;

import java.util.List;

/**
 * @author ：hj
 * @date ：Created in 2020/11/15 15:12
 * @description：
 * @modified By：
 * @version: $
 */
@Repository
public interface UserMapper {
    /**
     * @author     ：hj
     * @date       ：Created in 2020/11/15 15:20
     * @description：检查用户名和密码是否匹配
     * @modified By：
     * @version:
     */
    User selectLogin(@Param("username") String username, @Param("password")String password);
    /**
     * @author     ：hj
     * @date       ：Created in 2020/11/21 22:40
     * @description：
     * @modified By：
     * @version:
     */
    Integer checkUsername(@Param("username") String username);
    /**
     * @author     ：hj
     * @date       ：Created in 2020/11/21 22:44
     * @description：检查姓名
     * @modified By：
     * @version:
     */
    Integer checkPhone(@Param("phoneNum") String phoneNum);
    /**
     * @author     ：hj
     * @date       ：Created in 2020/11/21 22:53
     * @description：注册用户
     * @modified By：
     * @version:
     */
    Integer registerUser(User user);
    /**
     * @author     ：hj
     * @date       ：Created in 2020/11/21 22:54
     * @description：
     * @modified By：
     * @version:
     */
    Integer updateUser(User user);
    /**
     * @author     ：hj
     * @date       ：Created in 2020/11/21 23:33
     * @description：模糊查询用户数
     * @modified By：
     * @version:
     */
    Integer countSelectUser(String username);
    /**
     * @author     ：hj
     * @date       ：Created in 2020/11/21 23:38
     * @description：分页模糊查询用户
     * @modified By：
     * @version:
     */
    List selectUser(@Param("username") String username,@Param("pageSize") Integer pageSize, @Param("getStartIndex") Integer getStartIndex);

    Integer countUser();
    List selectAllUser(@Param("pageSize") Integer pageSize, @Param("getStartIndex") Integer getStartIndex);

    Integer isSelect(@Param("id") Integer id);
    UserApi Select(@Param("id") Integer id);
    Integer update(@Param("id") Integer id);
}
